﻿using Brc_PaaS.Common.Model.Apollo;
using Brc_PaaS.Common.Model.Basic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Brc_PaaS.Core.Apollo.Service
{
  public  interface IApolloNamespaceService
    {
        /// <summary>
        /// 获取App的环境，集群信息
        /// </summary>
        /// <param name="conditionDto"></param>
        /// <returns></returns>
        ResponseModel<List<EnvironmentEnvclusterInfoDto>> GetEnvclusterInfos(BaseRequestDto conditionDto);
        /// <summary>
        /// 获取集群下所有Namespace信息接口
        /// </summary>
        /// <param name="conditionDto"></param>
        /// <returns></returns>
        ResponseModel<List<NamespaceInfoDto>> GetNamespaceInfos(NamespaceConditionDto conditionDto);
        /// <summary>
        /// 获取某个Namespace信息接口
        /// </summary>
        /// <param name="conditionDto"></param>
        /// <returns></returns>
        ResponseModel<NamespaceInfoDto> GetNamespaceInfo(SingleNamespaceConditionDto conditionDto);

        /// <summary>
        /// 创建Namespace
        /// </summary>
        /// <param name="createNamespaceRequestDto"></param>
        /// <returns></returns>
        ResponseModel<CreateNamespaceResultDto> CreateNamespaceInfo(CreateNamespaceDto createNamespaceRequestDto);
        /// <summary>
        ///  获取某个Namespace当前编辑人接口
        /// </summary>
        /// <param name="condtionDto"></param>
        /// <returns></returns>
        ResponseModel<NamespaceLockInfoDto> GetNamespaceLockInfo(SingleNamespaceConditionDto condtionDto);
    }
}
